攻击者通过网络扫描可以达成什么目的
攻击者通过网络扫描主要可以达成以下几种目的:
判断目标主机的工作状态:即判断目标主机是否联网并处于开机状态。网络中以IP地址作为通信主机的标识,攻击者的攻击也是针对IP地址进行的。如果一个IP地址没有在网络中使用,或者该IP地址所对应的主机在某个时间点没有开机,攻击者就无法在此时间对相应的IP地址进行攻击。这种以判断主机的工作状态为目的的网络扫描称为主机发现。
判断目标主机的端口工作状态:即端口处于监听还是处于关闭的状态。端口与网络服务相联系,例如,80号端口通常被HTTP服务使用,20号端口通常被FTP服务使用。端口处于监听状态即意味着主机开放了相应的网络服务。以判断端口工作状态为目的的扫描称为端口扫描。
判断目标主机的操作系统类型:通过远程扫描可以大致判断目标主机运行的是Windows操作系统、Linux操作系统,还是Solaris、IBM AIX等其他类型的操作系统。攻击者攻击时所采用的方法与目标主机的操作系统紧密联系。例如,针对Windows系统的攻击方法不可能在Linux系统上奏效。即使同一系列的操作系统,攻击方法也有差异。例如,针对Windows7系统的攻击方法通常也难以在Windows10系统上奏效。这种旨在判断操作系统类型的网络扫描称为操作系统识别。
判断目标主机可能存在的安全漏洞:向目标主机发送精心设计的探测数据包,根据目标主机的响应,能够判断出目标主机存在的安全漏洞。很多网络扫描软件汇聚了主机系统可能存在的各类安全漏洞的信息,在对目标主机实施扫描后能够详尽地提供目标主机存在的安全漏洞。此类网络扫描软件通常需要经常更新以保证漏洞信息的全面。攻击者也可以就自己感兴趣的某个或者某一组漏洞设计探测数据包,对目标主机进行针对性更强的探测。这种以判断信息系统安全漏洞为目的的扫描一般称为漏洞扫描。
不被漏洞扫描工具扫到方法如下:
关闭端口:关闭闲置和有潜在危险的端口。这个方法比较被动,它的本质是将除了用户需要用到的正常计算机端口之外的其他端口都关闭掉。因为就黑客而言,所有的端口都可能成为攻击的目标。可以说,计算机的所有对外通讯的端口都存在潜在的危险。
屏蔽端口:检查各端口,有端口扫描的症状时,立即屏蔽该端口。这种预防端口扫描的方式通过用户自己手工是不可能完成的,或者说完成起来相当困难,需要借助软件。这些软件就是我们常用的网络防火墙。
设置白名单和黑名单:假如你的网站不想被太多的人看到(比如只想被公司内部的人看到),你可以使用白名单的方式只允许你们公司的IP访问。假如是一个面向大众的网站,建议检测扫描你网站的IP,使用黑名单的方式禁掉这些IP。
建议服务器增加资源,防止被扫描导致瘫痪:即使防护做的再好,也免不了被扫描或者爬取。现在的爬虫技术能够轻松应对反爬虫机制,没有什么有效的方法能够完全禁止被爬取或者被扫描,只有增加服务器带宽来防止被恶意扫描时使服务暂停。
加装防火墙等安全设备:目前市面上有一些防火墙能够阻挡一些异常的扫描和爬取。
使用CDN作为外部服务的入口:公网服务仅允许来自CDN机房的ip进行访问。通过CDN分流扫描器的流量,同时利用CDN的云WAF拦截功能屏蔽扫描器的访问
对流量或者日志进行分析:目前大量的扫描器在扫描时存在特征(如使用特定的useragent或者字典生成数据包),可以通过对流量或者日志进行分析,鉴定和拦截特定的扫描器行为。